﻿module Sustainalytics.GCCS {

    import Common = Sustainalytics.Common;

    export interface IGCOverallCompanySummaryExtendedService {

        // GET
        Get(filters:GCOverallCompanySummaryExtendedFilters, listOptions: Common.ListOptions, overallAssessment?: GCAssessment): ng.IPromise<any>;

        // get items count
        GetCount(filters:GCOverallCompanySummaryExtendedFilters, overallAssessment?: GCAssessment): ng.IPromise<number>;

        // get list of items
        GetList(filters:GCOverallCompanySummaryExtendedFilters, skip: number, take: number, orderBy: string[], orderByAsc: boolean, overallAssessment?: GCAssessment): ng.IPromise<GCOverallCompanySummaryExtendedDto[]>;

        // get paged list
        GetPagedList(filters:GCOverallCompanySummaryExtendedFilters, pagingOptions: Common.PagingOptions, orderBy: string[], orderByAsc: boolean, overallAssessment?: GCAssessment): ng.IPromise<Common.PagedList<GCOverallCompanySummaryExtendedDto>>;

        // get paged list 2 :-)
        GetPagedLst(filters:GCOverallCompanySummaryExtendedFilters, skip: number, take: number, orderBy: string[], orderByAsc: boolean, overallAssessment?: GCAssessment): ng.IPromise<Common.PagedList<GCOverallCompanySummaryExtendedDto>>;
    }
}